【レポート】最も効果的な エンタープライズシステム・モダナイゼーションの進め方とは(AWS-08) #AWSSummit
こんにちは!つくぼし(tsukuboshi0755)です!
この記事では、2022年5月25日(水)に行われたAWS Summit Online 2022のオンラインセッション AWS-08『最も効果的な エンタープライズシステム・モダナイゼーションの進め方とは』をレポートします。
セッション概要
「モダナイゼーションするにはマイクロサービスにしないといけないですよね?でも難しそうで…」「XXシステムをモダナイゼーションしろと言われたのですが、どうしたら良いですか?」このようなお客様の相談が増えておりますが、皆様は効果的なモダナイゼーションを進められているでしょうか。 このセッションでは、モダナイゼーションとは何かを改めて考えるとともに、モダナイズする上での重要な観点や効果的な取り組み方について、AWS のサービスを含めて解説します。
スピーカー
AWS デジタルトランスフォーメーション部 マイグレーション スペシャリスト ソリューションアーキテクト 倉元 貴一 氏
セッションリンク
下記リンクからセッションの資料をご確認頂けます。
なお、セッション情報を参照するためにはAWS Summit Online 2022への無料登録が必要となります。
最も効果的な エンタープライズシステム・モダナイゼーションの進め方とは(AWS-08)
※セッション資料は上記リンク先の「添付ファイル」タブからダウンロードすることが出来ます。
レポート
モダナイぜーションとは何か
- モダナイゼーションのイメージ
- サービス
- ツール
- 言語・アーキテクチャ
- 方法論
- 上記はいずれも手段(How)であり、先に何を(What)なぜ(Why)を考える事が必要
- モダナイゼーションの必要性
- ユーザーの多様化
- 手段の多様化
- 加速度的に変化
- モダナイぜーションとは
- 最新のインフラ、アーキテクチャ。組織パターンを組み合わせて現行システムをリファクタリングする。
- ビジネスの俊敏性を最大化する。
- モダンの意味
- 現代式の、最新の
- モダンは常に変化している
- Do not Modernize, Keep it Modern
- 一度だけ最新化するだけでは意味がない
- 最新な状態を維持し続ける事が大事
- 常に最新の適切な手法を選択し続ける
- IT技術、アーキテクチャ:コンテナ、サーバレス、マイクロサービス
- 人、プロセス、文化:CI/CD、DevOps
- 組織、ガバナンス:アジャイル、スクラム
モダナイゼーションを進めるポイント
- 従来のWeb3層構成
- Web Server:Presentation
- Application Server:Business Logic
- Database Server:Data
- モダナイゼーション対象の観点
- 技術
- 組織
- プロセス
- AWSクラウド導入フレームワーク(AWS CAF)
- 従来型開発の構造
- 数年単位の大規模プロジェクトは変化に弱い
- 構築/テスト/リリースのサイクルを1回しか実施しない
- 変化に対応しやすい組織体制
- 独立した開発チームごとにサービスを作る
- 構築/テスト/リリースのサイクルを複数回実施する
- 独立した小さな開発サイクルを連続して回す
- インフラストラクチャ・モダナイゼーション
- 作業を可能な限りサービス側にオフロード
- 第1ステップ:オンプレミス
- 第2ステップ:バージョンアップ
- 最新機能の利用やセキュリティの向上
- 第3ステップ:Amazon EC2
- ハードウェア/OSをクラウド側にオフロード
- 第4ステップ
- ミドルウェア/バックアップ・定期メンテナンス/可用性・スケーラビリティ(一部)をクラウド側にオフロード
- アプリケーション・モダナイゼーション
- 独立した開発のために分割・疎結合化
- 第1ステップ:モノリス
- 第2ステップ:バージョンアップ
- 最新機能の利用やセキュリティの向上
- 第3ステップ:システム分割
- レイヤーによるシステム分割(画面-ビジネスロジック)
- 業務によるシステム分割
- 第4ステップ:マイクロサービス化
- AWS EC2によるリホスト
- Web Server:Amazon EC2
- Application Server:Amazon EC2
- Database Server:Database on Amazon EC2
- AWS EC2によるモダナイズ
- Web Server:ALB
- Application Server:EC2 AutoScailing
- Database Server:Amazon Aurora + Amazon S3
- コンテナやサーバレスを活用したモダナイズ
- Web Server:Amazon API Gateway
- Application Server:ALB,AWS Fargate, AWS Lambda
- Database Server:Amazon Aurora, Amazon S3, Amazon DynamoDB
- バッチアプリケーションもモダナイズ
- Batch Server:Amazon EC2, Amazon ECS, AWS Step Functions
- Database Server:Amazon Aurora, Amazon S3, Amazon DynamoDB
- モダナイゼーションを進めるポイントとは
- 変化に対応しやすい体制・開発サイクルを作る
- 最も注力すべき課題に着目して、FromとToを設定する
段階的モダナイゼーションの実現方法
- Strangler Figパターンの活用
- 小さく俊敏に始められる
- すぐにモダナイゼーションの効果を得られる
- 容易に切り戻せるのでリスクを低減できる
- オンラインアプリケーションへの適用
- 現行システムはそのままに、新規システムを構築
- 新規システム構築後、エンドポイントのルーティングを徐々に変更
- ルーティング変更後システムに問題がなければ、現行システムを停止する
- 複数AWSアカウント構成は設定・管理が複雑に
- AWS Migration Hub Refactor Spaces
- リファクタリングを数ヶ月から数日の短縮
- 単一アプリケーションを、容易にレガシーアプリケーションとマイクロサービスの組み合わせへ
- AWS Migration Hub Refactor Spacesの特徴
- リファクタリング環境のセットアップ・運用管理の手間を削減
- アプリケーションお呼び出し元に、リファクタリングの影響を与えない
- 複数アカウントにまたがってトラフィックをルーティング
- Refactor Spacesの構成例
- Refactor Spaceの作成
- 環境の分割
- アプリケーションの作成
- URL付きサービスまたはAWS Lambdaの作成
- ルーティングの追加
- 従来型の組織体制ではスケールしにくい
- 人手による作業・チームをまたがったコミュニケーションはボトルネックになりやすい
- 開発プロセスもモダナイズ
- 自動化・省力化によって人手をできるだけ排除し、ボトルネックになりにくい仕組みを作る
まとめ
- モダナイゼーションはツールや方法論がポイントではなく、モダンであり続けるための組織体制や開発サイクルが重要
- あらゆる技術を導入するのではなく、現行システムにおける最も重要な改善ポイントに注力してFrom/Toを設定する
- 段階的モダナイゼーションを実現するために、AWSでは様々なサービスを提供している
- 一番お伝えしたかった事:Do not Modernize, Keep it Modern
- もし一つだけ取り組むなら:全ての土台となる開発プロセスの内、CI/CDパイプラインを検討するべき
最後に
システムを最新化する(モダナイゼーションを実施する)には、単に新しい技術を適用すれば良い訳ではなく、組織やプロセスの見直しが必要だという事が、とても分かりやすく説明されているセッションでした。
最近よく聞くDXに取り組んでみたい!という方に対しても、このセッションの内容は非常に参考になると思います。
是非セッション資料も併せて、本セッションをご覧下さい。
以上、つくぼしでした!